package com.samsung.service.vote;

import java.util.List;
import java.util.Map;

import com.samsung.dto.vote.CreateVoteDto;
import com.samsung.model.user.User;
import com.samsung.model.vote.VoteOption;
import com.samsung.model.vote.VoteTopic;
/**
 * @ClassName CreateVoteService
 * @Description 新建投票的业务接口
 * 
 * @author c3.Zhang
 * @date 2015/4/22 11:00:00
 */
public interface CreateVoteService {

	/**
	 * @param createVoteDto 
	 * @title checkTopicInfo
	 * @Description 新建投票信息topic的校验
	 */
	Map<String, Object> checkTopicInfo(VoteTopic topic, CreateVoteDto createVoteDto);

	/**
	 * @title saveTopic
	 * @Description 新建投票信息入库Topic表
	 */
	Map<String, Object> saveTopic(VoteTopic topic,CreateVoteDto createVoteDto, User user);

	/**
	 * @title saveOption
	 * @Description 新建投票信息入库option表
	 */
	void saveOption(List<VoteOption> optionList);

	/**
	 * @title checkOptionInfo
	 * @Description 新建投票信息option的校验
	 */
	Map<String, Object> checkOptionInfo(List<VoteOption> optionList);

	/**
	 * @title setOptionInfo
	 * @Description 新建投票model option信息存入
	 */
	List<VoteOption> setOptionInfo(VoteTopic topic, CreateVoteDto createVoteDto);

	/**
	 * @title checkTitle
	 * @Description 新建投票信息标题的异步校验
	 */
	Map<String, Object> checkTitle(String title);

}
